In a communication system, signals are transmitted between a transmission unit of a fixed base station and a communication device, such as cellular phones, personal digital assistants, and portable computers. The signals travel over a physical medium, usually referred to as a channel, and are received by a receiver unit of the communication device, or the fixed base station. A conventional method of recovering, from a received signal, an estimated signal that is substantially similar to the originally transmitted signal involves down-converting the received signal to obtain data symbols. The data symbols thus obtained, typically estimate the data symbols transmitted in the originally transmitted signal. Down-converting the received signal typically involves mixing the received signal with a reference signal corresponding to the carrier frequency of the transmitted signal, for example, a local carrier signal to generate a baseband or intermediate frequency (IF) signal for further processing by the receiver.
However, frequency variations introduced by the channel, for example, due to Doppler spread and various receiver components, such as filters and oscillators, may result in a frequency offset between the carrier frequency of the received signal and the reference signal, used by the receiver unit. Frequency variations thus introduced may affect the estimation of the originally transmitted signal. Further, the frequency offset may also affect computation of various channel coefficients, also referred to as channel impulse response (CIR), which are typically used for equalizing the received signal. The frequency offset may thus result in degradation of the performance of the receiver unit.
Conventionally, various techniques have been deployed in communication devices, to estimate the frequency offset. One such conventional technique, disclosed in U.S. Pat. No. 7,725,090, includes estimating the frequency offset using phase shift undergone by the received signal estimated from the received signal at the receiver. In said technique, initially a reference signal x(n) is generated using the following equation:x(n)=conj(r(n))·*{tilde over (r)}(n)where n=1, . . . , 2N samples, r(n) is a received signal; {tilde over (r)}(n) is a reconstructed signal, i.e., a signal reconstructed to generate a signal similar to r(n); * denotes an element-wise multiply operation; and conj(.) denotes a conjugate operation. The reference signal x(n) may then be used to obtain, for 2N samples, a phase offset “theta”, denoting the phase rotation undergone by the IF signal using the following equation:theta=1/N{mean[x(N+l:2N)*conj(x(l:N))]}where mean(.) denotes an arithmetic mean operation. The phase offset “theta” may then be used to estimate the frequency offset using the following equation:
      f    estimated    =      theta          2      ⁢      π      ⁢                          ⁢      T      where T denotes a symbol cycle of the received signal.
The estimated frequency offset may then be used to correct frequency offset error in the received signal. This technique of frequency offset estimation, however, does not work effectively in wireless communication systems, for example, under fading and in interference scenarios. For instance, using the phase shift undergone by the received signal may affect the accuracy of the estimated frequency offset as the phase shift undergone by the received signal may not be uniform throughout. As will be known to a person skilled in the art, the phase shift may differ based on the phase change of the channel traversed by the transmitted signal. For example, when the channel phase changes slowly, the estimated frequency accordingly changes little; while when the channel phase changes rapidly, a phase jump may occur. This phase jump thus needs to be taken into consideration when using frequency estimation to conduct frequency offset correction. The estimated frequency offset may thus need to be adjusted or averaged before being used for frequency offset correction, which may increase the expense and time required for correcting the frequency offset.
Another conventional technique, disclosed in patent publication no. WO 2010/058282, employs an iterative, blind, frequency-offset estimation process that exploits temporal (block) correlation of the received signal to estimate the frequency offset. The technique involves forming a temporally and/or spatially stacked signal block from multi-branch signal samples corresponding to each of two or more time-separated samples of the received signal. The temporally stacked signal block is then used for computing a maximum-likelihood joint estimate of the receiver frequency offset and the temporal/spatial covariance of the temporally stacked signal block de-rotated by the receiver frequency. Initially, temporally and/or spatially stacked signal blocks are formed for r[n], i.e., a received signal and r[n, α], i.e., a received signal vector de-rotated by a frequency offset α as follows:rM[n]≡vec([rC[n],rC[n−1], . . . rC[n−M]]) andrM[n,α]≡vec([rC[n,α],rC[n−1,α], . . . rC[n−M,α]])where M denotes a model order, rM [n] is a vector formed by stacking received signals {rC[k]}k=n−Mn in columns, and rM [n, α] is a vector formed by stacking de-rotated received signals {r[k, α]}k=n−Mn in columns.
An estimate of a signal covariance matrix Q is then computed based on the de-rotated received signal block as follows:
                    Q        ^            ⁡              (        α        )              ≡                  arg        Q            ⁢      min      ⁢                          ⁢      11      ⁢              (                  α          ,          Q                )              =            1              N        -        M              ⁢                  ∑                  n          =          M                          N          -          1                    ⁢                                    r            M                    ⁡                      [                          n              ⁣                              ,                α                                      ]                          ⁢                                            r              M                        ⁡                          [                              n                ,                α                            ]                                H                    where ll(α, Q) is a log-likelihood function of α and Q.
Further, an estimate of the receiver frequency offset α is computed based on the received signal block as follows:
                    α        ^            ⁡              (        Q        )              ≅                            〈                                                    r                M                            ⁡                              [                n                ]                                      ,                                          X                M                            ⁡                              [                n                ]                                              〉                          Q                      -            1                                                〈                                                    X                M                            ⁡                              [                n                ]                                      ,                                          Z                M                            ⁡                              [                n                ]                                              〉                          Q                      -            1                                where                              X          M                ⁡                  [          n          ]                    =              j        ⁢                  {                                    [                                                                                          n                      -                                              n                        0                                                                                                  0                                                        …                                                        0                                                                                        0                                                                              n                      -                      1                      -                                              n                        0                                                                                                  ⋱                                                        ⋮                                                                                        ⋮                                                        ⋱                                                        ⋱                                                        0                                                                                        0                                                        …                                                        0                                                                              n                      -                      M                      -                                              n                        0                                                                                                        ]                        ⊗                          I                              N                r                                              }                ⁢                              r            M                    ⁡                      [            n            ]                                ;                                Z          M                ⁡                  [          n          ]                    =                        {                                                    [                                                                                                    n                        -                                                  n                          0                                                                                                            0                                                              …                                                              0                                                                                                  0                                                                                      n                        -                        1                        -                                                  n                          0                                                                                                            ⋱                                                              ⋮                                                                                                  ⋮                                                              ⋱                                                              ⋱                                                              0                                                                                                  0                                                              …                                                              0                                                                                      n                        -                        M                        -                                                  n                          0                                                                                                                    ]                            2                        ⊗                          I                              N                r                                              }                ⁢                              r            M                    ⁡                      [            n            ]                                ;  INT denotes an identity matrix, and  denotes the Kronecker product.
{circumflex over (Q)}(α) and {circumflex over (α)}(Q) may then be used in an iterative manner to compute an approximate maximum-likelihood estimate of the frequency offset. The technique, however, is not useful in estimating frequency offset for transmission signals having certain statistical properties, for example, circular Gaussian nature like certain classes of voice services over adaptive multi-user channels on one slot (VAMOS) signals when Sub-Channel Power imbalance ratio (SCPIR) is equal to 0 dB. As will be known, for circular Gaussian signals statistical properties of the signal do not change upon rotation. The above technique, being based on rotation undergone by the signal, is thus not able to estimate the frequency offset in such signals. For instance, in the VAMOS signals when SCPIR is equal to 0 dB, the statistical properties of the VAMOS signals may remain unchanged with respect to frequency offset due to which the above technique may fail to estimate any frequency offset, irrespective of the frequency offset introduced by the channel.